using System;
using System.Collections.Generic;
using System.Text;

namespace ELE.EnterpriseLibrary.Naming
{
  /// <summary>
  /// This is a base class to be extended by all remote objects that
  /// want to be true singletons, meaning their lease time is infinite and
  /// they stick around until the appdomain shuts down.
  /// For info look at http://msdn.microsoft.com/msdnmag/issues/03/12/LeaseManager/default.aspx
  /// </summary>
  public abstract class ContextSingletonRemoteBase : MarshalByRefObject
  {
    /// <summary>
    /// This method ensure that the lease time is infinite for objects 
    /// that extend this object
    /// </summary>
    /// <returns></returns>
    public override object InitializeLifetimeService()
    {
      return null;
    }
  }
}
